home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / dvi2qms / move_fonts.c < prev    next >
C/C++ Source or Header  |  1990-10-01  |  881b  |  40 lines

  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/dir.h>
  4.  
  5. main(argc,argv)
  6.      int argc;
  7.      char *argv[];
  8. {
  9.   DIR *dirstream;
  10.   struct direct *dirrecord;
  11.   char *dir,qfamily[128],s[MAXNAMLEN];
  12.   int qpoint,qmag;
  13.  
  14.   if (argc != 2) exit(1);
  15.   dir = argv[1];
  16.   chdir(dir);
  17.   if (dirstream = opendir(dir)) {
  18.     while (dirrecord = readdir(dirstream)) {
  19.       if (!strcmp(dirrecord->d_name+dirrecord->d_namlen-3,"pxl")) {
  20.     qpoint = -1; qmag = -1;
  21.     (void) sscanf(dirrecord->d_name,"%[^0123456789.]%d.%d",
  22.               qfamily,&qpoint,&qmag);
  23.     mkdir(qfamily,0775);
  24.     if (qpoint >= 0) {
  25.       sprintf(s,"%s%d",qfamily,qpoint);
  26.       mkdir(s,0775);
  27.       sprintf(s,"%s%d/%s",qfamily,qpoint,dirrecord->d_name);
  28.     } else {
  29.       sprintf(s,"%s",qfamily);
  30.       mkdir(s,0775);
  31.       sprintf(s,"%s/%s",qfamily,dirrecord->d_name);
  32.     }
  33.     link(dirrecord->d_name,s);
  34.       }
  35.     }
  36.     closedir(dirstream);
  37.   }
  38. }
  39.      
  40.